package com.jlpay.open.jlpay.sdk.java.model.ledger.notify;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author chenjunhong
 * @since 2025/4/27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class MerchIssueResultNotifyRequest {
    /**
     * 分账系统分配的机构号
     * 示例值：50261513
     */
    private String orgCode;

    /**
     * 嘉联分配的商户号（出账方）
     * 示例值：849440358120001
     */
    private String mchId;

    /**
     * 分账模式
     * 02：余额分账，示例值：02
     */
    private String ledgerModule;

    /**
     * 出账方的单笔最大分账比例，1-100的整数，原则上不超过30%
     * 示例值：20
     */
    private String maxSplitRate;

    /**
     * 分账手续费费率，单位为万分之一
     * 示例值：2
     */
    private String feeRate;

    /**
     * 分账手续费承担方
     * 枚举值
     * NO_CHARGE：不收取手续费（不对外）
     * 0：出账方承担
     * 1：入账方承担
     * 示例值：0
     */
    private String pbthf;

    /**
     * 分账手续费保底金额，单位分，整数
     * 示例值：1
     */
    private String lowAmt;

    /**
     * 分账手续费封顶金额，单位分，整数
     * 示例值：10
     */
    private String upAmt;

    /**
     * 审核状态
     * 枚举值：
     * 2：审核失败
     * 3：审核成功
     */
    private String checkStatus;

    /**
     * 审核失败的原因
     */
    private String failedReason;
}
